import ssl
# ssl._create_default_https_context = ssl._Create_unverified_context
from s25 import settings

from qcloudsms_py import SmsMultiSender, SmsSingleSender
from qcloudsms_py.httpclient import HTTPError


def send_sms_single(phone_num, template_id, tenplate_param_list):
    """
    单挑发送短信
    ：param phone_num:发送给哪一个手机号
    ：param template_id:腾讯云短信模板id
    ：param template_param_list: 短信模板所需参数，例如：【验证码:{1}，描述：{2}】，则传递参数[888, 666] 按顺序去格式化模板
    :return:
    """
    appid = settings.TENCENT_SMS_APP_ID  # 创建应用对应的appid
    appkey = settings.TENCENT_SMS_APP_KEY  # 创建的应用对应 的appkey
    sms_sign = settings.TENCENT_SMS_SIGN  # 自己腾讯云创建签名时填写的签名内容（使用公众号的话这个值一般是公众号全称或简介）

    sender = SmsSingleSender(appid, appkey)
    try:
        response = sender.send_with_param(86, phone_num, template_id, template_id, tenplate_param_list, sign=sms_sign)
    except HTTPError as e:
        response = {'result': 1000, 'errmsg': "网络发送异常失败"}
    return response


def send_sms_multi(phone_num_list, template_id, param_list):
    """
    批量发送短信
    ：param phone_num_list:手机号列表
    :param template_id:腾讯云短信模板id
    :param param_list:短信模板所需参数列表，例如：【验证码：{1}，描述：{2}】，则传递参数[888, 666]按顺序去格式化模板
    :return:
    """
    appid = 1400914957
    appkey = '09b5e7fae4052318c686be17846986d7'
    sms_sign = "python之路"

    sender = SmsMultiSender(appid, appkey)
    try:
        response = sender.send_with_param(86, phone_num_list, template_id, param_list, sign=sms_sign)
    except HTTPError as e:
        response = {'result': 1000, 'errmsg': '网络异常发送失败'}
    return response

